package pojo

import dom "a-common/domain"

// SysOperlogVo 映射
type SysOperlogVo struct {
	Title         string `json:"title"`         // 模块标题
	BusinessType  int    `json:"businessType"`  // 业务类型（0其它 1新增 2修改 3删除 4导入 5导出 6上传 7下载）
	Method        string `json:"method"`        // 方法名称
	RequestMethod string `json:"requestMethod"` // 请求方式
	Device        string `json:"device"`        // 操作终端
	OperName      string `json:"operName"`      // 操作人员
	OperUrl       string `json:"operUrl"`       // 请求URL
	OperIp        string `json:"operIp"`        // 主机地址
	OperLocation  string `json:"operLocation"`  // 操作地点
	OperParam     string `json:"operParam"`     // 请求参数
	Status        int    `json:"status"`        // 请求状态码
	ErrorMsg      string `json:"errorMsg"`      // 错误消息
	CostTime      int64  `json:"costTime"`      // 消耗时间(ms)
}
type SysOperlogPageVo struct {
	SysOperlogVo `xorm:"extends"`
}

// SysOperlogDto 传输
type SysOperlogDto struct {
	SysOperlogPageVo
	Params dom.ParamTime `json:"params" `
	dom.PageDto
}

func (m *SysOperlogDto) Validator() error {
	if m.PageNum < 1 {
		m.PageNum = 1
	}
	if m.PageSize < 1 {
		m.PageSize = 10
	}
	return nil
}

// SysOperlogExportVo 导出
type SysOperlogExportVo struct {
	OperTime      string `excel:"name:操作时间;"`
	Title         string `excel:"name:操作模块;"`
	BusinessType  int    `excel:"name:业务类型;replace:0_其它,1_新增,2_修改,3_删除,4_导入,5_导出,6_上传,7_下载;"`
	Method        string `excel:"name:请求方法;"`
	RequestMethod string `excel:"name:请求方式;"`
	OperatorType  int    `excel:"name:操作类别;replace:0_其它,1_后台用户,2_手机端用户;"`
	OperName      string `excel:"name:操作人员;"`
	DeptName      string `excel:"name:部门名称;"`
	OperUrl       string `excel:"name:请求地址;"`
	OperIp        string `excel:"name:操作地址;"`
	OperLocation  string `excel:"name:操作地点;"`
	OperParam     string `excel:"name:请求参数;"`
	Status        int    `excel:"name:状态;replace:0_正常,1_异常;"`
	ErrorMsg      string `excel:"name:错误消息;"`
}
